Top Banner
FileMaker Konferenz 2012 Salzburg www.filemaker-konferenz.com FileMaker und Java ...und es öffnen sich neue Welten! DI (FH) DI Bernhard Schulz schubec GmbH
62

FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

Aug 20, 2015

Download

Documents

Welcome message from author
This document is posted to help you gain knowledge. Please leave a comment to let me know what you think about it! Share it to your friends and learn new things together.
Transcript
Page 1: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

FileMaker und Java...und es öffnen sich neue Welten!

DI (FH) DI Bernhard Schulzschubec GmbH

Page 2: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

DI (FH) DI Bernhard Schulz

‣ Inhaber und Geschäftsführer der schubec GmbH ‣ Betreiber von FileMakerProfis.de

‣ PHP‣ Java‣ Google Web Toolkit‣ Vaadin‣ Wicket‣ SQL Datenbanken‣ Websecurity ‣ Netzwerktechnik

Page 3: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

Vortragsziel

‣ Klären: Was ist Java?‣ Was braucht man um Java nutzen zu können?‣ Die Zugriffsarten‣ JDBC‣ FileMaker API 4 Java

‣ Praxisrelevante Beispiele

‣ Der Vortrag ist keine Java-Schulung

‣ Vollständige Codebeispiele in Folien und bei den Beispielen

Page 4: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

Java‣ Objektorientierte Programmiersprache‣ SUN / Oracle‣ Plattformunabhängig‣ Windows‣ Mac‣ Linux

‣ kostenlos

Page 5: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

Zugriffsmöglichkeiten auf FileMaker‣ Java Database Connectivity (JDBC)

‣ FileMaker API 4 Java‣ in Entwicklung bei schubec‣ in Anlehnung an FileMaker API 4 PHP

Page 6: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBC Treiber - woher nehmen?

Page 7: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBC‣ Wie ODBC für die Java-Welt‣ FileMaker Server dient als Datenquelle‣ Java-Programm liest Daten aus oder schreibt Daten in Datenquelle

‣ Extrem schnell!!!‣ Bei weitem! schneller als FileMaker API 4 PHP

‣ Extrem robust‣ Einmal eingerichtet, lauft das Ding quasi für immer!

Bild-Quelle: FileMaker ODBC and JDBC Guide

Page 8: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBCpackage com.schubec.demo.fmk2012.jdbc;

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;

public class JdbcTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012";

public static void main(String[] args) { try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver") .newInstance();

String jdbcString = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD + ";serverDataSource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString);

String sql = "SELECT Thema, Untertitel FROM Themen"; ResultSet resultSet = connection.prepareStatement(sql) .executeQuery(); while (resultSet.next()) { System.out.println(resultSet.getString("Thema")); System.out.println(resultSet.getString("Untertitel")); System.out.println("==============================="); } } catch (Exception e) { e.printStackTrace(); } }}

Page 9: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBCpackage com.schubec.demo.fmk2012.jdbc;

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;

public class JdbcTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012";

public static void main(String[] args) { try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver") .newInstance();

String jdbcString = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD + ";serverDataSource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString);

String sql = "SELECT Thema, Untertitel FROM Themen"; ResultSet resultSet = connection.prepareStatement(sql) .executeQuery(); while (resultSet.next()) { System.out.println(resultSet.getString("Thema")); System.out.println(resultSet.getString("Untertitel")); System.out.println("==============================="); } } catch (Exception e) { e.printStackTrace(); } }}

Verbindungsparameter

Connection-String:

FileMaker 10:jdbc:sequelink://<sequelink host IP

address>:<port>;serverDataSource=<databasename>;DBUser=<databaseusername>; DBPassword=<databasepassword>

FileMaker 11:jdbc:filemaker://<filemaker host IP address>:<port>/ <databasename>?

user=<databaseusername>&password=<databasepassword>

FileMaker 12:jdbc:filemaker://<filemaker host IP address>:<port>/<databasename>?

user=<databaseusername>&password=<databasepassword>

Page 10: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBCpackage com.schubec.demo.fmk2012.jdbc;

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;

public class JdbcTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012";

public static void main(String[] args) { try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver") .newInstance();

String jdbcString = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD + ";serverDataSource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString);

String sql = "SELECT Thema, Untertitel FROM Themen"; ResultSet resultSet = connection.prepareStatement(sql) .executeQuery(); while (resultSet.next()) { System.out.println(resultSet.getString("Thema")); System.out.println(resultSet.getString("Untertitel")); System.out.println("==============================="); } } catch (Exception e) { e.printStackTrace(); } }}

Verbindungsparameter

Connection-String:

FileMaker 10:jdbc:sequelink://fm9.langhofer.net:

2399;user=jdbc;password=jdbc;serverDataSource=fmk2012

Page 11: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBCpackage com.schubec.demo.fmk2012.jdbc;

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;

public class JdbcTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012";

public static void main(String[] args) { try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver") .newInstance();

String jdbcString = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD + ";serverDataSource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString);

String sql = "SELECT Thema, Untertitel FROM Themen"; ResultSet resultSet = connection.prepareStatement(sql) .executeQuery(); while (resultSet.next()) { System.out.println(resultSet.getString("Thema")); System.out.println(resultSet.getString("Untertitel")); System.out.println("==============================="); } } catch (Exception e) { e.printStackTrace(); } }}

JDBC Treiber laden

JDBC-Treiber:

FileMaker 10:com.ddtek.jdbc.sequelink.SequeLinkDriver

FileMaker 11:com.filemaker.jdbc.Driver

FileMaker 12:com.filemaker.jdbc.Driver

Page 12: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBCpackage com.schubec.demo.fmk2012.jdbc;

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;

public class JdbcTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012";

public static void main(String[] args) { try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver") .newInstance();

String jdbcString = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD + ";serverDataSource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString);

String sql = "SELECT Thema, Untertitel FROM Themen"; ResultSet resultSet = connection.prepareStatement(sql) .executeQuery(); while (resultSet.next()) { System.out.println(resultSet.getString("Thema")); System.out.println(resultSet.getString("Untertitel")); System.out.println("==============================="); } } catch (Exception e) { e.printStackTrace(); } }}

SQL Statement

Page 13: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBCpackage com.schubec.demo.fmk2012.jdbc;

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;

public class JdbcTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012";

public static void main(String[] args) { try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver") .newInstance();

String jdbcString = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD + ";serverDataSource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString);

String sql = "SELECT Thema, Untertitel FROM Themen"; ResultSet resultSet = connection.prepareStatement(sql) .executeQuery(); while (resultSet.next()) { System.out.println(resultSet.getString("Thema")); System.out.println(resultSet.getString("Untertitel")); System.out.println("==============================="); } } catch (Exception e) { e.printStackTrace(); } }}

SQL-Befehl ausführen

Page 14: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBCpackage com.schubec.demo.fmk2012.jdbc;

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;

public class JdbcTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012";

public static void main(String[] args) { try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver") .newInstance();

String jdbcString = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD + ";serverDataSource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString);

String sql = "SELECT Thema, Untertitel FROM Themen"; ResultSet resultSet = connection.prepareStatement(sql) .executeQuery(); while (resultSet.next()) { System.out.println(resultSet.getString("Thema")); System.out.println(resultSet.getString("Untertitel")); System.out.println("==============================="); } } catch (Exception e) { e.printStackTrace(); } }}

Ergebnis ausgeben

Page 15: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBCErgebnis

Page 16: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBC‣ Medienfelder können gelesen und geschrieben werden‣ (Das ist über andere Schnittstellen, zB FM API 4 PHP, nicht möglich!)

File file = new File ("/Users/schube/Pictures/FMK_Logo_2012.gif");FileInputStream inputstream = new FileInputStream (file); String sql = "INSERT INTO Medienfeldtest (DasMedienfeld) VALUES(PutAs(?, 'GIFf'))";PreparedStatement prepareStatement = connection.prepareStatement(sql);prepareStatement.setBinaryStream (1, inputstream, (int)file.length ());prepareStatement.execute();

Page 17: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBC - Containerfeld Datentypen

Tabelle-Quelle: FileMaker ODBC and JDBC Guide

Page 18: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBC & Medienfeld - vollständiger Codepackage com.schubec.demo.fmk2012.jdbc;

import java.io.File;import java.io.FileInputStream;import java.sql.Connection;import java.sql.DriverManager;import java.sql.PreparedStatement;import java.sql.ResultSet;

public class JdbcContainerTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012";

public static void main(String[] args) { try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver") .newInstance();

String jdbcString = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD + ";serverDataSource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString);

File file = new File ("/Users/schube/Pictures/FMK_Logo_2012.gif"); FileInputStream inputstream = new FileInputStream (file); String sql = "INSERT INTO Medienfeldtest (DasMedienfeld) VALUES(PutAs(?, 'GIFf'))"; PreparedStatement prepareStatement = connection.prepareStatement(sql); prepareStatement.setBinaryStream (1, inputstream, (int)file.length ()); prepareStatement.execute(); } catch (Exception e) { e.printStackTrace(); } }}

Page 19: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBC‣ Abfragen basieren auf Tabellenauftreten‣ Abfragen werden mittels SQL-Befehle formuliert

‣ FileMaker Tabellen können erzeugt/geändert werden!

‣ CREATE TABLE‣ ALTER TABLE‣ CREATE INDEX‣ DROP INDEX

Page 20: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBC - Datenbankstruktur ändernsql = "CREATE TABLE T1 (C1 VARCHAR, C2 VARCHAR (50), C3 VARCHAR (1001),C4 VARCHAR (500276))";connection.prepareStatement(sql).execute();

sql = "CREATE TABLE T1NN (C1 VARCHAR NOT NULL, C2 VARCHAR (50) NOT NULL, C3 VARCHAR (1001) NOT NULL, C4 VARCHAR (500276) NOT NULL)";connection.prepareStatement(sql).execute();

sql = "CREATE TABLE T2 (C1 DECIMAL, C2 DECIMAL (10,0), C3 DECIMAL (7539,2), C4 DECIMAL (497925,301))";connection.prepareStatement(sql).execute();

sql = "CREATE TABLE T3 (C1 DATE, C2 DATE, C3 DATE, C4 DATE)";connection.prepareStatement(sql).execute();

sql = "CREATE TABLE T4 (C1 TIME, C2 TIME, C3 TIME, C4 TIME)";connection.prepareStatement(sql).execute();

sql = "CREATE TABLE T5 (C1 TIMESTAMP, C2 TIMESTAMP, C3 TIMESTAMP,C4 TIMESTAMP)";connection.prepareStatement(sql).execute();

sql = "CREATE TABLE T6 (C1 BLOB, C2 BLOB, C3 BLOB, C4 BLOB)";connection.prepareStatement(sql).execute();

Beispiel-Quelle: FileMaker ODBC and JDBC Guide

Page 21: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBC - Index auslesenpackage com.schubec.demo.fmk2012.jdbc;

import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;

public class IndexAuslesenTest { private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "fmk2012";

public static void main(String[] args) { try { Class.forName("com.ddtek.jdbc.sequelink.SequeLinkDriver") .newInstance();

String jdbcString = "jdbc:sequelink://" + SERVER + ":" + PORT + ";user=" + USERNAME + ";password=" + PASSWORD + ";serverDataSource=" + DATABASE; Connection connection = DriverManager.getConnection(jdbcString);

String sql = "SELECT DISTINCT \"Web Farbe\" AS farbe FROM Themen"; ResultSet resultSet = connection.prepareStatement(sql) .executeQuery(); while (resultSet.next()) { System.out.println(resultSet.getString("farbe")); System.out.println("==============================="); } } catch (Exception e) { e.printStackTrace(); } }}

Beispiel-Quelle: FileMaker ODBC and JDBC Guide

Page 22: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBC

Beispiel-Quelle: FileMaker ODBC and JDBC Guide

‣ Viele weitere SQL-Abfragen möglich!‣ Abfragen, die mit FileMaker gar nicht

oder‣ nur extrem kompliziert‣ möglich wären.

‣ Viel Spass beim SQL-Lernen!‣ Ist ohnehin für FileMaker Entwickler sehr nützlich!‣ Zum Beispiel bei der Session

„FM12 - Mit SQL-Kommandos FileMaker Daten lesen - und schreiben“

‣ von Nico Busch heute um 16 Uhr im Schloss Saal 1!

Page 23: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker API 4 Java‣ Basiert auf XML-Schnittstelle des FileMaker Server‣ Idee von FileMaker API 4 PHP von FileMaker Inc. übernommen‣ Entwicklung durch schubec GmbH‣ Lange Erfahrung mit der XML Schnittstelle‣ Entwicklung von FM-and-PHP im Jahre 2001

‣ Momentan im BETA-Stadium‣ Veröffentlichungsdatum und Konditionen ungewiss‣ Bei Interesse bitte an [email protected] wenden

Page 24: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker API 4 Java‣ Hat in etwa die gleichen Funktionen und Einschränkungen wie FileMaker

API 4 PHP

‣ Abfragen basieren auf Layouts‣ Medienfelder können nur gelesen werden‣ Performance mittelmässig‣ Benötigt zwingend FileMaker Server

‣ Es können FileMaker Scripts ausgeführt werden!‣ Basiert auf HTTP Protokoll‣ kaum Probleme bei Übertragung über Internet

‣ XML-Schnittstelle bei FileMaker Provider weit verbreitet‣ FileMaker API 4 PHP Programmierer können ganz leicht umsteigen

Page 25: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker API 4 Javapackage com.schubec.demo.fmk2012.fmapi4java;

import com.schubec.libraries.fmapi4java.FileMaker;import com.schubec.libraries.fmapi4java.commands.FindAllCommand;import com.schubec.libraries.fmapi4java.enums.Protocol;import com.schubec.libraries.fmapi4java.models.Database;import com.schubec.libraries.fmapi4java.models.Layout;import com.schubec.libraries.fmapi4java.models.Record;import com.schubec.libraries.fmapi4java.results.ResultSet;

public class FmApi4JavaTest {

private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "web"; private static final String PASSWORD = "web"; private static final String DATABASE = "fmk2012";

public static void main(String[] args) { try { FileMaker fm = new FileMaker(SERVER, Protocol.HTTP, USERNAME, PASSWORD); Database db = fm.newDatabase(DATABASE); Layout lay = db.newLayout("Themen"); FindAllCommand command = lay.newFindAllCommand(); ResultSet<Record> result; result = command.execute(); for (Record record : result.getRecords()) { System.out.println(record.getField("Thema").getValue()); System.out.println(record.getField("Untertitel").getValue()); System.out.println("==============================="); } } catch (Exception e) { e.printStackTrace(); } }

}

Page 26: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker API 4 Javapackage com.schubec.demo.fmk2012.fmapi4java;

import com.schubec.libraries.fmapi4java.FileMaker;import com.schubec.libraries.fmapi4java.commands.FindAllCommand;import com.schubec.libraries.fmapi4java.enums.Protocol;import com.schubec.libraries.fmapi4java.models.Database;import com.schubec.libraries.fmapi4java.models.Layout;import com.schubec.libraries.fmapi4java.models.Record;import com.schubec.libraries.fmapi4java.results.ResultSet;

public class FmApi4JavaTest {

private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "web"; private static final String PASSWORD = "web"; private static final String DATABASE = "fmk2012";

public static void main(String[] args) { try { FileMaker fm = new FileMaker(SERVER, Protocol.HTTP, USERNAME, PASSWORD); Database db = fm.newDatabase(DATABASE); Layout lay = db.newLayout("Themen"); FindAllCommand command = lay.newFindAllCommand(); ResultSet<Record> result; result = command.execute(); for (Record record : result.getRecords()) { System.out.println(record.getField("Thema").getValue()); System.out.println(record.getField("Untertitel").getValue()); System.out.println("==============================="); } } catch (Exception e) { e.printStackTrace(); } }

}

Verbindungsparameter

Page 27: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker API 4 Javapackage com.schubec.demo.fmk2012.fmapi4java;

import com.schubec.libraries.fmapi4java.FileMaker;import com.schubec.libraries.fmapi4java.commands.FindAllCommand;import com.schubec.libraries.fmapi4java.enums.Protocol;import com.schubec.libraries.fmapi4java.models.Database;import com.schubec.libraries.fmapi4java.models.Layout;import com.schubec.libraries.fmapi4java.models.Record;import com.schubec.libraries.fmapi4java.results.ResultSet;

public class FmApi4JavaTest {

private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "web"; private static final String PASSWORD = "web"; private static final String DATABASE = "fmk2012";

public static void main(String[] args) { try { FileMaker fm = new FileMaker(SERVER, Protocol.HTTP, USERNAME, PASSWORD); Database db = fm.newDatabase(DATABASE); Layout lay = db.newLayout("Themen"); FindAllCommand command = lay.newFindAllCommand(); ResultSet<Record> result; result = command.execute(); for (Record record : result.getRecords()) { System.out.println(record.getField("Thema").getValue()); System.out.println(record.getField("Untertitel").getValue()); System.out.println("==============================="); } } catch (Exception e) { e.printStackTrace(); } }

}

Befehl (FindAll / Alle aufrufen)

Page 28: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker API 4 Javapackage com.schubec.demo.fmk2012.fmapi4java;

import com.schubec.libraries.fmapi4java.FileMaker;import com.schubec.libraries.fmapi4java.commands.FindAllCommand;import com.schubec.libraries.fmapi4java.enums.Protocol;import com.schubec.libraries.fmapi4java.models.Database;import com.schubec.libraries.fmapi4java.models.Layout;import com.schubec.libraries.fmapi4java.models.Record;import com.schubec.libraries.fmapi4java.results.ResultSet;

public class FmApi4JavaTest {

private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "web"; private static final String PASSWORD = "web"; private static final String DATABASE = "fmk2012";

public static void main(String[] args) { try { FileMaker fm = new FileMaker(SERVER, Protocol.HTTP, USERNAME, PASSWORD); Database db = fm.newDatabase(DATABASE); Layout lay = db.newLayout("Themen"); FindAllCommand command = lay.newFindAllCommand(); ResultSet<Record> result; result = command.execute(); for (Record record : result.getRecords()) { System.out.println(record.getField("Thema").getValue()); System.out.println(record.getField("Untertitel").getValue()); System.out.println("==============================="); } } catch (Exception e) { e.printStackTrace(); } }

}

Befehl ausführen

Page 29: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker API 4 Javapackage com.schubec.demo.fmk2012.fmapi4java;

import com.schubec.libraries.fmapi4java.FileMaker;import com.schubec.libraries.fmapi4java.commands.FindAllCommand;import com.schubec.libraries.fmapi4java.enums.Protocol;import com.schubec.libraries.fmapi4java.models.Database;import com.schubec.libraries.fmapi4java.models.Layout;import com.schubec.libraries.fmapi4java.models.Record;import com.schubec.libraries.fmapi4java.results.ResultSet;

public class FmApi4JavaTest {

private static final String SERVER = "fm9.langhofer.net"; private static final String USERNAME = "web"; private static final String PASSWORD = "web"; private static final String DATABASE = "fmk2012";

public static void main(String[] args) { try { FileMaker fm = new FileMaker(SERVER, Protocol.HTTP, USERNAME, PASSWORD); Database db = fm.newDatabase(DATABASE); Layout lay = db.newLayout("Themen"); FindAllCommand command = lay.newFindAllCommand(); ResultSet<Record> result; result = command.execute(); for (Record record : result.getRecords()) { System.out.println(record.getField("Thema").getValue()); System.out.println(record.getField("Untertitel").getValue()); System.out.println("==============================="); } } catch (Exception e) { e.printStackTrace(); } }

}

Ausgabe

Page 30: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker API 4 JavaErgebnis

Page 31: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBC vs. FileMaker API 4 JavaJDBC FMAPI4JAVA (FMAPI4PHP)

Client / Server? Client o. Server Nur Server Nur Server

Protokoll JDBC HTTP HTTP

Geschwindigkeit

Medienfelder lesen

Medienfelder schreiben

Datenbankstruktur ändern

Scripts ausführen

Dokumentation

Verfügbarkeit

Abfragen per SQL-Befehl FM proprietärFM proprietär

Abfragen basieren auf Tabellenauftreten LayoutsLayouts

Page 32: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

JDBC vs. FileMaker API 4 Java‣ Was ist besser?‣ Kommt drauf an...‣ Unterschiedliche Features

‣ Vorschlag: Beides mischen!

Page 33: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - wozu?‣ Viele professionelle & kostenlose Bibliotheken‣ Lesen & Schreiben von Excel, Word, Powerpoint (Apache POI)‣ Reportgeneratoren (iReport)‣ Webinterfaces (Vaadin, GWT, Wicket, etc.)‣ CalDAV

‣ Unterschied zu PHP‣ professionellere Tools & Entwicklung‣ unter anderem durch statische Typisierung

‣ einheitliche Java Umgebungen‣ PHP-Umgebungen unterscheiden sich oft erheblich

‣ ausgereiftere Bibliotheken‣ Application Server‣ Jedoch‣ komplizirteres Deployment‣ höhere Hostingkosten

Page 34: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - HL7

‣ Health Level 7 (HL7) ist eine Gruppe internationaler Standards für den Austausch von Daten zwischen Organisationen im Gesundheitswesen und deren Computersystemen. (Wikipedia)‣ Beispielnachricht:

MSH|^~\&|EPIC|EPICADT|SMS|SMSADT|199912271408|CHARRIS|ADT^A04|1817457|D|2.5|

PID||0493575^^^2^ID 1|454721||DOE^JOHN^^^^|DOE^JOHN^^^^|19480203|M||B|254 MYSTREET AVE^^MYTOWN^OH^44123^USA||(216)123-4567|||M|NON|400003403~1129086|

NK1||ROE^MARIE^^^^|SPO||(216)123-4567||EC|||||||||||||||||||||||||||

PV1||O|168 ~219~C~PMA^^^^^^^^^||||277^ALLEN MYLASTNAME^BONNIE^^^^|||||||||| ||2688684|||||||||||||||||||||||||199912271408||||||002376853

Page 35: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - HAPI

‣ Einlesen in FileMaker?‣ Studentengruppe: Parsen per PHP‣ instabil‣ fehleranfällig

‣ Lösung: FileMaker JDBC und

Page 36: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - HAPI

‣ Universitätsklinik Salzburg / Chirurgie West‣ Problemlose Verarbeitung von mehr als 180.000 HL7

Nachrichten

Page 37: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - HAPI

TextUK für Chirurgie der Paracelsus Medizinische Privatuniversität Salzburg | Stellenwert der QS in der Chirurgie | D. Öfner-Velano

QM an der UK für Chirurgie, SalzburgQM an der UK für Chirurgie, Salzburg

Page 38: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Beispiele‣ iReport‣ Reporting Engine, die weit mehr kann als FileMaker‣ kostenlos

Page 39: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Beispiele

Page 40: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Beispiele

Page 41: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Beispiele

Page 42: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Beispiele

Page 43: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Beispiele

Page 44: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Beispiele

Page 45: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Beispiele

Page 46: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Beispiele

SELECT

Sessions."Info" AS Sessions_Info,

Sessions."Durchfuehrung_Zeit_von" AS Sessions_Durchfuehrung_Zeit_von,

Sessions."Durchfuehrung_Zeit_bis" AS Sessions_Durchfuehrung_Zeit_bis,

Themen."Thema" AS Themen_Thema,

Themen."Beschreibung" AS Themen_Beschreibung,

Themen."Untertitel" AS Themen_Untertitel,

Sessions."Durchfuehrung_Datum" AS Sessions_Durchfuehrung_Datum,

Themen."Sortfield" AS Themen_Sortfield

FROM

"Themen" Themen INNER JOIN "Sessions" Sessions ON Themen."pkThema" = Sessions."fkThema"

ORDER BY

Sessions."Durchfuehrung_Datum",

Sessions."Durchfuehrung_Zeit_von"

Page 47: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Beispiele

Page 48: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Beispiele

Page 49: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Beispiele

Page 50: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Beispiele

Page 51: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Beispiele

Page 52: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Beispiele

Page 53: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

iReport

Page 54: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Beispiele‣ iReport‣ Reporting Engine, die weit mehr kann als FileMaker‣ kostenlos

Page 55: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Solr‣ „Suchmaschine“‣ FileMaker Daten hineinfüttern‣ Webinterface nutzen

Page 56: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Solrpackage com.schubec.demo.fmk2012.solr;

import java.net.MalformedURLException;import java.sql.Connection;import java.sql.DriverManager;import java.sql.ResultSet;

import org.apache.log4j.Logger;import org.apache.solr.client.solrj.SolrServer;import org.apache.solr.client.solrj.SolrServerException;import org.apache.solr.client.solrj.impl.CommonsHttpSolrServer;import org.apache.solr.common.SolrInputDocument;

public class Start { private static final String SERVER = "localhost"; private static final String USERNAME = "jdbc"; private static final String PASSWORD = "jdbc"; private static final String PORT = "2399"; private static final String DATABASE = "schubecEmails";

static Logger logger = Logger.getLogger(Start.class);

public static void main(String[] args) throws Exception, MalformedURLException, SolrServerException {

SolrServer solr = new CommonsHttpSolrServer("http://localhost:8983/solr");

Class.forName("com.filemaker.jdbc.Driver").newInstance();

String jdbcString = "jdbc:filemaker://" + SERVER + ":" + PORT + "/" + DATABASE + "?user=" + USERNAME + "&password=" + PASSWORD; System.out.println(jdbcString); Connection connection = DriverManager.getConnection(jdbcString);

String sql = "select MessageID, TheDate, Priority, Body, Subject, EmailFrom, EmailTo from Messages "; ResultSet resultSet = connection.prepareStatement(sql).executeQuery();

while (resultSet.next()) { SolrInputDocument solrdoc = new SolrInputDocument(); solrdoc.addField("id", resultSet.getString("MessageID")); solrdoc.addField("features", resultSet.getString("Body")); solrdoc.addField("popularity", resultSet.getString("Priority")); solrdoc.addField("last_modified", resultSet.getDate("TheDate")); solrdoc.addField("subject", resultSet.getString("Subject")); solrdoc.addField("author", resultSet.getString("EmailFrom")); solrdoc.addField("comments", resultSet.getString("EmailTo")); solr.add(solrdoc); System.out.println("*"); } solr.commit();

System.out.println("Done"); }}

Page 57: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Solr

Page 58: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Java - Solr‣ Performance‣ Facetten‣ „More like this“‣ Rechtschreibprüfung‣ Synonyme‣ Stopwörter‣ Stemming‣ laufen, lief, gelaufen

Page 59: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & CalDAV

Page 60: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Scriptmaster

http://www.360works.com/scriptmaster/

Page 61: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

DI (FH) DI Bernhard SchulzFileMaker und Java... ...und es eröffnen sich neue Welten

FileMaker & Vaadin

Page 62: FMK2012: FileMaker und Java ...und es öffnen sich neue Welten! von Bernhard Schulz

FileMaker Konferenz2010

FileMaker Konferenz 2012 Salzburgwww.filemaker-konferenz.com

Vielen Dank unseren Sponsoren

Danke für das Bewerten dieses Vortrages