Zur Homepage der rails-konferenz.de 2006 | Bilder der Konferenz
Platin Sponsor Logo - InnoQ

Gold Sponsor
Logo - Carl Hanser Verlag


Silver Sponsor
Logo - Indiginox


Media Sponsor
Logo - Sigs Datacom Logo - Sigs Datacom

Logo - TN3

Zeitplan


Uhrzeit Thema
08:30 - 09:00 Registrierung und Kaffee
09:00 - 09:15 Begrüßung
09:15 - 10:00 Keynote: REST on Rails
10:00 - 10:45 Kaffeepause und Umbau
10:45 - 11:30 Amazon S3/EC2 Prosa, Lyrik, Ruby und Rails
11:35 - 12:20 SOA und Rails Caching in Rails
12:20 - 13:45 Mittag
13:45 - 14:30 Offline arbeiten? Leben und wirken wie im letzten Jahrtausend Sicherheit von Ruby on Rails
14:35 - 15:20 Volltextsuche mit Ferret Hobo - Rapid Webdevelopment auf Speed!
15:25 - 16:10 GoogleMaps Anwendungen mit Ruby on Rails Internationalisierung in Rails
16:15 - 17:45 Kaffeepause
16:45 - 17:30 Rails Conditions - Domain Language und Business Regeln Rails in der Praxis - Stolpersteine bei der Enwicklung von omdb.org
17:30 - 18:00 Abschluss der Konferenz

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
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
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
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
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
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
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
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
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
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
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
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
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
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
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.

Impressum

Thomas Baustert, Beate Paland,
Hendrik Stier, Thomas Ziegler

rails-konferenz.de
c/o Reporting-Online GmbH
Eschenheimer Anlage 1
60316 Frankfurt am Main