Vortragsprogramm
Keynote: REST on Rails
Phillip Ghadir und Stefan Tilkov
REST verhält sich zu Web Services wie Rails zu J2EE - auf den ersten Blick hat man den
Eindruck, dahinter verbirgt sich eine einfache und für "Enterprise"-Szenarien wenig
taugliche Lösung, auf den zweiten Blick stellt sich heraus, dass weit mehr dahinter
steckt. Selbst Rails-Profis erscheint der Nutzen der seit Rails 1.2 verfügbaren
REST-Unterstützung oft noch zweifelhaft, zumindest dann, wenn es um Anwendungsfälle
jenseits eines einfachen "CRUD" (Create, Read, Update, Delete) geht.
Was ist anders an REST? Warum wird dieses Konzept eine entscheidende Rolle für die
Verbreitung von Rails im Unternehmensumfeld spielen? Warum passt REST auch für
"richtige" Anwendungsfälle? Wie kann eine Anwendung so "RESTful" entwickelt werden,
dass sie die Vorteile maximal ausnutzt? Was sind klassische Anti-Patterns?
Nach eine kurzen Einführung in das REST-Konzept und dessen Unterstützung in Rails
sollen im Vortrag diese und andere Fragen diskutiert werden.
Phillip Ghadir
Phillip Ghadir ist Mitglied der Geschäftsleitung der innoQ Deutschland GmbH und berät
als Principal Consultant Kunden bei der Realisierung von verteilten Softwaresystemen
und dem Einsatz neuer Technologien. Im Rahmen seiner beruflichen Laufbahn ist er mit
unzähligen Ansätzen zur Realisierung von Web-Anwendungen und verteilter Kommunikation
konfrontiert worden und sieht sich nun darin bestätigt, dass es sich dabei nicht um
zwei verschiedene, sondern nur um einziges Thema handelt.
Stefan Tilkov
Stefan Tilkov beschäftigt sich seit Beginn der 90er Jahre mit Architekturansätzen für
große, verteilte Systemlandschaften. Als Geschäftsführer und Principal Consultant der
innoQ Deutschland GmbH beschäftigt er sich schwerpunktmäßig mit modellgetriebenen
Software-Entwicklungsansätzen und service-orientierten IT-Architekturen, sowohl auf
Basis von Web Services als auch auf Basis von REST. Seine Leidenschaft gehört
dynamischen Sprachen wie Ruby und den damit möglichen Ansätzen für DSLs (Domain
Specific Languages).
Caching in Rails
Tammo Freese
Caching ist eines der wichtigsten Mittel, eine Ruby on Rails-Anwendung zu beschleunigen.
Tammo Freese gibt einen Überblick über die Caching-Mechanismen in Rails, er erläutert, wie
Caching getestet werden kann, und zeigt typische Probleme und Lösungen beim Caching in
Rails-Anwendungen.
Tammo Freese
Tammo Freese ist freiberuflicher Berater, Trainer und Extreme Programmer. Sein Schwerpunkt
ist die agile Entwicklung mit Ruby on Rails, AJAX und Eclipse. Zur Zeit arbeitet er in
Rails-Projekten. In seiner spärlichen Freizeit forscht er an einer
Refactoring-Unterstützung im Software-Konfigurationsmanagement.
Er ist unter
http://www.tammofreese.de erreichbar.
GoogleMaps Anwendungen mit Ruby on Rails
Florian Görsdorf
Der Vortrag vermittelt das notwendige Wissen, um mit der Integration
von GoogleMaps in eigene Rails-Anwendungen beginnen zu können. Es
werden die notwendigen Begriffe und Grundlagen aus dem Bereich
GeoMapping erläutert sowie Googles Javascript basierte Maps-API
betrachtet. An Hand einer Rails-Anwendung wird gezeigt, wie man diese
Karten integriert, mit ihnen arbeitet und wie Rails-Plugins dabei
helfen können.
Florian Görsdorf
Florian Görsdorf arbeitet als Freelancer im Bereich
Software-Entwicklung mit RubyOnRails. Entdeckt hat Florian Rails
Anfang 2005 in einer Zeit, als er sich mit einem frustigem
Java-Web-Framework herumschlagen musste. Seit Mitte 2006 arbeitet er
ausschliesslich mit Rails. Er hat ausserdem die RubyUserGroup Berlin
ins Leben gerufen, die mittlerweile sehr aktiv ist.
Amazon S3/EC2
Jonathan Weiss
Amazon bietet mit der Elastic Compute Cloud (Amazon EC2) und dem Simple Store Service
(Amazon S3) zwei Web-Services an, die es anderen Entwicklern ermöglichen von der
Amazon Plattform in Sachen on-demand Skalierung, Performance und Redundanz zu
profitieren. Amazon S3 stellt dabei „storage for the internet“ dar, also unbegrenzter
Speicherplatz in Amazons Datacentern, der über eine REST-API befüll- und aufrufbar
ist. Amazon EC2 bietet Entwicklern die Möglichkeit on-demand beliebig viele Instanzen
von virtuellen Maschinen per Web-Services zu starten und zu kontrollieren.
Dieser Vortrag soll demonstrieren, welchen Nutzen man von S3 und EC2 ziehen kann und
wie einfach diese Web-Services in die eigene Rails Applikationen einzubinden sind.
Nach einem Überblick über S3 und EC2 werden konkrete Einsatzszenarien besprochen und
deren Implementation in Rails dargestellt. Die Szenarien reichen dabei von S3 als
Backendspeicher bis zu On-Demand Application Server mit Capistrano und EC2.
Jonathan Weiss
Jonathan Weiss ist technischer Projektleiter bei der Peritor Wissensmanagement GmbH. Dort
ist er verantwortlich für die Entwicklung von web-basierten Wissensmanagement-Systemen und
die Beratung im Bereich der Software-Entwicklung. Daneben ist er freiberuflicher
Entwickler und arbeitet bereits seit über 2 Jahren mit Rails in der Praxis. Unter anderem
ist er einer der Verantwortlichen von Meinprof.de, eine der ersten deutschen Rails-Seiten.
Sicherheit von Ruby on Rails
Heiko Webers
Jeden Tag stehlen kriminelle Hacker zahlreiche Kreditkartennummern, vertrauliche Informationen,
Passwörter und alles andere, was sie zu Geld machen können. Sie verunstalten Webseiten, beinträchtigen
die Verfügbarkeit von Web Anwendungen oder löschen Daten. Viele Unternehmen sind heute vom Internet
abhängig, der Bereich der Sicherheit sollte deshalb nicht ignoriert werden.
Viele Entwickler sehen Rails als ein "sicheres" Framework an. Das mag stimmen, da weniger Code
geschrieben werden muss, und weniger Code bedeutet einen besseren Überblick.
Tatsächlich aber hängen die meisten Sicherheitsprobleme in Web Anwendungen nicht von
der eingesetzten Programmiersprache oder dem Framework ab, sondern betreffen Web Anwendungen im
Allgemeinen.
Dieser Vortrag behandelt die bekanntesten Angriffe, wie Interpreter Injection im Bezug auf Rails
(Cross-Site Scripting (XSS), SQL Injection, Logic Injection), verbreitete Konfigurationsfehler,
Session- und Benutzerverwaltung, Ajax-Sicherheit, Sicherheitstipps und mehr.
Rails hat gute Sicherheits-Features, man muss sie nur einsetzen.
Heiko Webers
Heiko Webers ist freiberuflicher Berater und Softwareentwickler im Bereich
von Internet-Anwendungen. Er erforscht neue Entwicklungs- und
Internettechnologien, Knowledge Engineering und Softwaresicherheit.
Im Rahmen seiner Abschlussarbeit an der Universität beschäftigte er sich
mit der Sicherheit von Internet Anwendungen im Hinblick auf Ruby On Rails.
Vor kurzem startete er mit der Open Web Application Security Project (OWASP) das
Ruby On Rails Security Project (
www.rorsecurity.info).
Rails Conditions - Domain Language und Business Regeln
Norman Timmler
Eine einheitliche und einfache Sprache erzeugt Lesbarkeit und Verständnis.
Wie schwierig es ist, Dinge zu benennen, weiß jeder, der versucht hat, Code
zu verstehen, den er selbst einmal geschrieben hat.
Rails Conditions bieten eine praxiserprobte Möglichkeit, Bedingungen für
Business Regeln in einer Domain Specific Language (DSL) im Domain Model
auszudrücken. Die Conditions befragen das Model in quasi natürlicher Sprache
über Zustände oder Berechtigungen, um bspw. den Ablauf im Controller zu
steuern. Auf das Fehlschlagen einer Condition kann einfach reagiert werden.
Die Conditions dokumentieren sich aufgrund einer lesbaren DSL selbst.
Der Vortrag zeigt anhand von Codebeispielen, wie sich Rails Conditions bei
XING in der Umsetzung des Marketplace Projektes bewährt haben.
Norman Timmler
Norman Timmler ist kein Unbekannter in der Ruby on Rails Szene: Bereits im
Februar 2005 launchte er zusammen mit Florian Weber (Rails Core-Member)
erfolgreich den mit Rails entwickelten bellybutton-Shop
(
www.bellybutton.de) – eines der
umfangreichsten Rails Projekte zu diesem Zeitpunkt. Bei XING verantwortet
Norman Timmler als Manager Engineering u.a. die technische Projektleitung
des XING "Marketplaces" - eine High-Traffic Seite für über 2 Millionen
Mitglieder weltweit, auf dem Premium-Mitglieder für andere Mitglieder u.a.
Jobangebote einstellen können.
Prosa, Lyrik, Ruby und Rails
Nicolai Reuschling
Jahrhundertelang schreibt die Menschheit schon Prosa und Lyrik – in den meisten Fällen
für jedermann lesbar und verständlich. Seit Einführung von Programmiersprachen und formalen
Spezifikationen werden jetzt aber auf einmal (Quell-) Texte und Dokumente erstellt, die von
Laien meist gar nicht und von Fachleuten oft nur mit Mühe verstanden werden.
Im besten Fall erinnert sich der Autor noch an Details und Zusammenhänge. Einzig und allein
der Compiler/Interpreter/Prozessor kann mit der Abfolge von Symbolen und Zeichen etwas
Sinnvolles anfangen.
Die Herausforderung beginnt also lange bevor ein Fehler auftritt. Schwierig wird es dann so
richtig, wenn ein Computer nicht mehr das leistet, wofür er (einst) einmal programmiert
wurde oder wenn ein Programm an neue Herausforderungen angepasst werden muss.
Ruby als Programmiersprache ist für seine leicht verständliche Syntax bekannt.
Ruby-Kommandos lassen die Grenzen zwischen Anforderungsspezifikation und Quellcode
verschwindend gering werden. Ruby on Rails geht sogar noch einen Schritt weiter und er-
laubt es Entwicklern, ganze Applikationen "lesbar" zu "gestalten". Gestalten darf in diesem
Zusammenhang gerne als "schöpferisch, kreativ" verstanden werden.
Der Vortrag erörtert die Notwendigkeit von verständlichem Quellcode und belegt an
Beispielen, wie mit Ruby und Ruby on Rails die Wartbarkeit von Applikationen und die
Produktivität von Entwicklern gesteigert werden kann. Weiterhin wird auf mögliche
Veränderungen des Entwicklungsprozesses eingegangen.
Seine Bacherlorarbeit zum Thema "Wartungsfreundliche Web-Applikationen mit Ruby on Rails" findet sich hier.
Nicolai Reuschling
Nicolai Reuschling studiert Informatik an der Hochschule Darmstadt und beschäftigt sich
seit ein paar Jahren mit agiler Softwareentwicklung und Ruby. In seiner Bachelor-Thesis
beschreibt er aktuell, welche Wartungsanforderungen an Webapplikationen gestellt werden
und wie Ruby (und natürlich Ruby on Rails) diesen Anforderungen entgegentritt.
SOA und Rails
Sven Tissot
Integration von Rails Anwendungen in Enterprise Umgebungen? Anschluss an den
unternehmensweiten Messaging Bus? SOA und ActiveMessaging machen es möglich !
Der Vortrag gibt eine Einführung in Service orientierte Architekturen und den Einsatz
von Rails in solchen Umgebungen. Es werden die wesentlichen Begriffe und Konzepte
im Umfeld von SOA erläutert, wie z.B. SOAP, Services, ESB und BPEL.
An einem praktischen Beispiel wird die Integration von Rails und SOA mit Action Web Services
und BPEL sowie die Anbindung an Messaging Systeme via Active Messaging demonstriert.
Sven Tissot
1980-1986 Studium der Informatik in Erlangen, Abschluß als Diplom-Informatiker
1987-1998 Software Ingenieur bei SESA Deutschland GmbH
1989-1990 Projektleiter bei CAP Gemini Deutschland GMBH
seit 1991 Projektmanager bei pdv Technische Automation+Systeme GmbH
Schwerpunktmässig beschäftige ich mich mit Datenbanken, Internet, J2EE Architekturen und
SOA. Trotz der Empfehlung jedes Jahr eine neue Programmiersprache zu lernen, setze ich mich nun schon seit
3 Jahren mit Ruby und Rails auseinander und versuche insbesondere auch in konservativen
Enterprise Umgebungen Nischen für Rails zu erschließen .
Offline arbeiten? Leben und wirken wie im letzten Jahrtausend.
Jens-Christian Fischer
Das Web lebt von "Online". Web-Anwendungen gehen davon aus, dass wir ständig vernetzt
sind. Doch GMail oder ihre Web2.0 Anwendung sind unbrauchbar, wenn man Offline ist. Mit
"Joyent Slingshot" gibt es die Möglichkeit Rails-Anwendungen als eigenständige Windows-
oder Mac-Applikation zu betreiben. In diesem Vortrag werden Möglichkeiten und Grenzen
dieser Technik gezeigt, und an einem Beispiel gezeigt, wie eine Anwendung "aus dem Netz"
genommen werden kann.
Jens-Christian Fischer
Jens-Christian Fischer entwickelt seit über 20 Jahren Software. Er ist Geschäftsführer der
InVisible GmbH mit Sitz in Zürich. Er ist vor fast 2 Jahren mit Rails in Kontakt gekommen,
begeistert gewesen und hat bereits mehrere Projekte erfolgreich mit und Dank Rails
realisieren können. Seit Anfangs 2006 gibt er auch Rails Schulungen. Er blogt (auch über
Rails) auf
blog.invisible.ch und ist unter
jcf@invisible.ch.
Volltextsuche mit Ferret
Jens Krämer
Eine funktionierende Volltextsuche ist für viele Webapplikationen
unerlässlich. Doch allzu schnell gelangt man an die Grenzen von
LIKE-Statements und MySQL-Volltextindizes.
Ferret ist eine hochperformante Volltextsuchmaschine für Ruby. Im
Funktionsumfang vergleichbar mit der aus der Java-Welt bekannten
Lucene-Bibliothek, übertrifft das in C implementierte Ferret sein
Vorbild oft sogar, was die Geschwindigkeit angeht.
Acts_as_ferret ist ein Rails-Plugin mit dem Ziel, seinem Benutzer die
Verwendung von Ferret so leicht wie möglich zu machen. Ein Einzeiler in
der Model-Klasse sorgt dafür, dass der gesamte Datenbestand komfortabel
und schnell durchsucht werden kann. Dabei wird der Index stets auf dem
aktuellen Stand gehalten, wenn Datensätze hinzukommen, aktualisiert oder
gelöscht werden.
Dieser Vortrag gibt zunächst Einblick in die Funktionsweise und
Besonderheiten von Ferret. Anschließend wird gezeigt, wie man mittels
acts_as_ferret typische Anwendungsfälle von erweiterten Suchformularen
über Live-Searches bis hin zur Model-übergreifenden Indizierung von
Objekten realisieren kann. Abschließend wird auf Besonderheiten im
Produktivbetrieb eingegangen.
Jens Krämer
Jens Krämer ist Softwareentwickler bei webit! in Dresden und auch als Freelancer
im Bereich Rails unterwegs. Seit Anfang 2006 ist er Maintainer von
acts_as_ferret,
einem Rails-Plugin dass die Nutzung von Ferret in Rails-Anwendungen extrem
vereinfacht. Ferret selbst ist im Prinzip eine Lucene-Implementierung in
C für Ruby, wobei die API mittlerweile den von Lucene geerbten Java-Stil
abgelegt hat.
Rails in der Praxis - Stolpersteine bei der Enwicklung von omdb.org
Benjamin Krause
Das Rails Framework bietet viele Antworten für gängige Probleme einer
Webanwendung. Doch es gibt auch Bereiche, die nicht oder nur knapp
in den Werken "Agile Web Development with Rails" und "Rapid Web
Development mit Ruby on Rails" behandelt werden. Eine kurze Reise
von Coding Conventions, über Internationalisierung, Performance bis zur
Maintenance einer Web Applikation.
Dieser Vortrag gibt einen Überblick über die Erfahrungen und Stolpersteine,
die bei der Entwicklung der Plattform omdb.org entstanden bzw. aufgetreten sind. Mit mehr als
einem Jahr Entwicklungszeit und dem Einsatz mehrer Rails-Entwickler aus
den Anfängen der Rails-Bewegung in Deutschland, ist das Hobbyprojekt
mittlerweile zu einer etablierten Plattform gewachsen.
Ein Resümee der Erfahrungen und Richtlinien, die sich heute rückblickend
zusammenfassen lassen, als Leitfaden für Personen, deren grossen Rails
Projekt noch bevorsteht.
Benjamin Krause
Benjamin Krause ist Freelancer und seit über 10 Jahren als Entwickler von Webanwendungen
tätig. Neben der privaten Entwicklung der Open-Content Seite omdb.org beschäftigt er sich auch
hauptberuflich seit einem Jahr mit Rails und startete sein eigenes Unternehmen Anfang des Jahres.
Internationalisierung in Rails
Jan Krutisch
Eine Rails-Anwendung zu lokalisieren (bzw. zu internationalisieren) ist keine ganze
einfache Aufgabe. Der Vortrag fasst die Schwierigkeiten zusammen, die einem auf dem Weg
dort hin begegnen können, zeigt die verschiedenen Lösungswege auf und fasst alles am Ende
nett zusammen.
Die Schwierigkeiten
Mehrere Sprachen in eine Web-Applikation zu integrieren kann die Art- und Weise wie man
seine Applikation entwickelt komplett verändern. Das Deployment wird aufwändiger, man
braucht zusätzliche Tools und man braucht einen Übersetzungs-Workflow. Man verabschiedet
sich unterwegs von so manchen lieb gewonnenen Railismen.
Die Werkzeuge
Es gibt 6 Millionen Wege um eine Rails-Applikations-Oberfläche zu lokalisieren und noch
mehr wege, um die Anwendung an sich zu internationalisieren. So viele Möglicheiten und so
viele Vorteile und so viele Nachteile. Ein Versuch eines Überblicks.
Die fehlenden Puzzleteile
Während Plugins wie GLoc, Globalize und Ruby/gettext die Sache deutlich vereinfacht haben,
sind manche Dinge immer noch wesentlich schwieriger als sie sein sollten.
Die Zusammenfassung
Was haben wir bei der Internationalisierung einer mittel- bis großen Rails-Anwendung
gelernt? Wie kann man den Einstieg in die Welt der Lokalisierung leichter machen? Wo gibt
es noch viel zu tun?
Jan Krutisch
Jan Krutisch ist Rails-Entwickler bei der mindmatters GmbH & Co. KG in Hamburg. Er hat die
deutsche Rails-Usergroup 2005 mitgegründet und ist Co-Autor des Buches "Webanwendungen mit
Ruby on Rails" des Addison-Wesley-Verlags. Als Referent hat er bereits mehrere Vorträge
zum Thema Rails gehalten, unter anderem als ganztägiges Tutorial auf der iX-Konferenz für
bessere Software und auf dem iX-Forum auf den letzten beiden CeBit-Messen. Als Student der
Umwelttechik könnte er als typischer Quereinsteiger gelten, mag Photographie,
elektronische Musik und Drachen und sollte dringend mehr Zeit mit seiner Freundin
verbringen.
Hobo - Rapid Webdevelopment auf Speed!
Niko Dittmann
Hobo ist ein auf Rails basierender Webapplication Builder. Bei vielen Ansätzen, die Webentwicklung mit Rails weiter beschleunigen, bleibt die Flexibilität auf der Strecke. Hobo versucht, die Entwicklungszeit für ein typisches Rails-Projekt drastisch zu verkürzen, ohne dass die für Rails typische Flexibilität eingebüßt wird.
Dieser Vortrag gibt eine Einführung in Hobo. In einem kurzen, eher theoretischen Teil wird die grundlegende Intention von Hobo erläutert und die Architektur erklärt.
Im Hauptteil wird eine einfache Beispiel-Webanwendung live programmiert. Hierbei wird die Anwendung des Benutzermanagements und des Rechtesystems gezeigt und das Arbeiten mit DRYML - der Hobo-eigenen Templatesprache - vorgeführt.
Voraussetzung: Zum Verständnis des Vortrags sind lediglich Rails-Grundlagen (MVC, Helper) nötig. Zum Verständnis der Architektur von Hobo sind Ruby-Grundlagen (Module, Mixins etc.) sinnvoll.
Niko Dittmann
Niko Dittmann arbeitet seit Anfang 2006 in der kleinen Agentur a2r:media hauptsächlich
mit Rails. Im letzten halben Jahr ist ein eigenes kleines CMS entstanden, dessen
Open-Source-Veröffentlichung ins Haus steht. Mit diesem CMS wurden schon einige kleine
Websites umgesetzt (z.B. www.revoca.ch, www.bewerberauswahl.eu,
www.vhs-konstanz-singen.de).
Aktuell wird Hobo für die Umsetzung einer Kundenseite mit eingeschränkten
Community-Features eingesetzt. In seiner Freizeit arbeitet Niko Dittmann u.A. an
Erweiterungen für Hobo.