EPOKO.net - Source Talk Tage

Werbung
EPOKO.net
Frank Schwichtenberg
SourceTalk 2009
Göttingen, 1.10.2009
„Real SOA“ ­ Wenn Services (zusammen­)wachsen.
2
Historisches
●
Der Wunsch nach Integration von Terminen in eine Webseite
–
●
Idee: Termine in XML, mit XSL transformieren
–
–
●
XML­Format?
Speicherung als XML­Datei
Benutzer sollten Termine selbst einstellen können
–
3
Ohne ein Content Management System zu installieren
Transaktionen, Datenintegrität?
Standards zur Lösung
●
Jedem Benutzer seine eigene ICS­Datei
–
●
Einfache Konvertierung nach XML
–
●
Empfehlung: XML­Formate nie ohne Namespace entwickeln. :­(
Termine im Web → ICS­Datei im Web
–
–
4
RFC 2445
WebDAV
Kalenderprogramme können per HTTP lesen und schreiben
Services 1
●
EPOKO.net Webseiten
–
–
●
●
Termine editieren mit Sunbird (o.a.)
Konvertierung ICS → XML
–
●
Serverbasiert, on request
XSLT zur Transformation in HTML „Schnipsel“
–
–
–
5
Form zum Erstellen einer Kalenderdatei (ICS) im Web
„EPOKO webfile“
Serverbasiert
Adressierbar zur Einbindung in Webseiten
URL des EPOKO webfile als Parameter
PHP
●
Alles in PHP
–
●
Kommandozeilen XSLT Prozessor
–
6
„Das geht so schön schnell.“
xsltproc per System Call
Nutzung
●
●
●
●
●
●
7
Das System wurde schnell angenommen:
Ankündigung von Veranstaltungen
Kinoprogramm
SourceTalk Programm (
http://www.sourcetalk.de/2009/programm.php)
Webseiten von Künstlern (http://www.InPanik.de)
Kurse und Kongresse (http://www.java.de)
Webviews einbinden
●
●
●
EPOKO.net generiert HTML „Schnipsel“ mit Kalendereinträgen aus Webfile
PHP­Code zum Einbinden des „Schnipsels“ in Webseiten auf EPOKO.net
Einbindung mit JavaScript möglich
–
–
●
8
! Cross Site Scripting
Unterstützung von CORS Header
HTML „Schnipsel“ enthalten Tabellen ohne <table></table> oder mit CCS Klassen ausgezeichnete <div>s
Erste Probleme
●
●
●
Sommerzeit
Zeitzonen
Performance
–
●
Resourcen
–
9
vor allem bei Konvertierungen
Arbeitsspeicher pro Thread
Java
●
java.util.Calendar
–
●
HttpServlet
–
●
10
ICS Events etc.
Ics2XmlConverter
–
●
GET, PUT u.v.m. :­)
ICS StreamReader API
–
●
XMLGregorianCalendar
inkl. Filter API
EPOKO View
Services 2 (EPOKO.core)
●
core.EPOKO.net/view/...
–
●
●
●
Auswahl des Zeitraums per URL­Parameter
Selektoren/Filter (Zeitspannen, Kategorie, Titel)
Beliebige ICS­Quellen für Views
–
●
●
11
list, month, week, todo, log, report
Vorsicht Standard!
http://frank.schwichtenberg.net/#EPOKO
http://frank.schwichtenberg.net/epoko.php?subject=epo
Tooling ?
●
●
Shared Event Management
Unterschiedliche Zugangspunkte
–
–
–
–
●
●
12
Zuhause
Am Arbeitsplatz
Unterwegs (Smartphone, Palm, Netbook)
Internetcafe, bei Freunden etc.
Views haben teilweise höhere ICS­Abdeckung als Kalenderprogramme
Viele Standardprogramme sind nicht (mehr) in der Lage „einfaches“ HTTP zu verwenden.
→ Tooling !
●
Webbasierte und Standalone Clients
●
Anforderungen
–
Nachnutzung der vorhandenen Darstellungsschicht
→ AJAX in Views
–
–
Performance, Transaktionen, Sicherheit …
CRUD Operationen für Kalender (Termine, Aufgaben ...)
→ REST
13
Services 3 (Repository)
●
●
Datenmodel folgt ICS
Entities (EJB3)
–
●
14
neben ICS „Dateien“ nun Zugriff über Repositories auf Kalender auf einzelne Termine
Webfiles als XML, JSON, RDF, Newsfeed und natürlich ICS
RESTfull
●
●
URIs für Kalender, Termin, Aufgaben, Notizen
Auswahl von views über Content Negotiation
–
●
Vereinfachung der Cliententwicklung
–
–
–
–
–
15
oder Dateierweiterungen (mit Einschränkungen)
Thin­Clients
AJAX
JavaFX
für Android
… Darstellung
●
Flexibilität durch XSLT
–
●
●
PDF des SourceTalk Programms
Views zur Manipulation von Kalendereinträgen (Beta)
–
●
16
Generierung verschiedener Formate
Focus auf Spezialisierte (kein vollständiges Kalenderprogramm) RDFa
Features
●
Frei verfügbare Basisdienste
–
–
●
●
Kostenlose Kalenderdatei im Netz
Webviews
–
●
●
Updates in „Echtzeit“
Selektoren/Filter (Zeitspannen, Kategorie, Titel)
Kalender Repository
–
–
17
In Zukunft auch kostenpflichtige Premiumdienste
http://www.java.de/component/option,com_epoko/set,2/Item
Custom Views
Aggregation
Konfigurierbare Zugriffsrechte (Public/Private)
18
Probleme
●
SyncML
–
●
●
CalDAV
Mime­Type für ICS Dateien
–
●
19
Terminabgleich mit Handy
copy or subscribe
XML­Schema für „ICS­XML“
EPOKO.net sind:
●
●
●
dr. schlüter: Marketing Agentur (www.drs13.de)
Stefan Koospal
Antonia Schwichtenberg
und ich.
●
20
Besonderen Dank an
Daniel van Ross
Vielen Dank für's zuhören
●
www.EPOKO.net
●
frank.schwichtenberg.net/#EPOKO
http://frank.schwichtenberg.net/epoko.php?
subject=epoko&type=report ●
Anregungen, Szenarien, Views?
●
21
Herunterladen