Dynamisch: Ruby on Rails

Preview:

DESCRIPTION

Eine Kurzeinführung in Ruby on Rails und den Infopark Rails Connector.

Citation preview

Berlin, den 15. Juni 2009

Dynamisch:

Ruby on Rails

Ruby on Rails

Quelle: http://www.rubyonrails.org/

Rails is a full-stack framework for developing database-backed web applications according to the Model-View-Control pattern.

 

Ruby on Rails{}Sprache

Framework

 

Yukihiro “matz” Matsumoto

Ruby ist …

Open Source• >10 Implementationen

Objektorientiert

Dynamisch und Flexibel

Eine Interpretersprache

Einfach zu erlernen

Die zehntbeliebteste Programmiersprache der Welt• www.tiobe.com

 

David Heinemeier Hansson

Rails ist …

Open Source

Ruby-basiert

Ein Framework für datenbankbasierte Web-Applikationen

Opinionated Software• Convention over

Configuration• DRY• Testing

Basierend auf MVC

MVCModel-View-Controller-Ansatz

 

ModelView

Controller

MVC-Pattern

 

ModelView

Controller

MVC-Pattern

 

ModelView

Controller

MVC-Pattern

 

Controller Model ViewBeginn aller HTTP-

Anfragen

Welches Layout wird ausgewählt?

Zugriff auf die Datenbank via Model

Datenbank-Zugriff

Tatsächliche „Objekte“(Flug, Flughafen, Hotel)

mit Business-Logik

Überprüfungen(Flight.valid?)

Nützliche Methoden(Flight.destination)

Callbacks(Flight.save)

HTML-Seiten

E-Mails

Stylesheets

JavaScript

MVC-Pattern

Opinionated?Convention over Configuration, DRY, Testing

Convention over Configuration

Festgelegte Struktur im Dateisystem• Source-Code• Libraries• Plugins• Dokumentation

Filenaming conventions• camelCase class names,

Underscore Filenames

Datenbanktabellen

Konfigurationsdateien

DRY - Don‘t Repeat Yourself

Wiederverwendbarer Code

Metaprogrammierung• Dynamische erstellte

Methoden

Testing

Tests gehören automatisch zum Code• Test Driven Development• Behaviour Driven

Development

Verschiedene Ebenen• Datenbank: Fixtures • Unit tests: Models• Functional: Controller • Integration: Workflow• Browser: Selenium

Rails und seine natürliche Umgebung

Mehrere Module• ActiveRecord, ActiveSupport,

ActiveResource, ActionPack, Rails

Typische Helferlein• rake• gem• capistrano• Phusion passenger• Rspec

Implementationen• MatzRuby (1.8), YARV (1.9),

JRuby, Rubinius, MacRuby

Infopark Rails Connector

Ermöglicht native Integration von Fiona-CMS-Content mit Rails

Rails ist das führende System

DynamischerLive-Server• Sofortige Publizierung• Basis für Personalisierung

 

Infopark Rails Connector

Rails Connector

CMS-Server

Infopark CMS Fiona

Datenbank

Repli-

kation

Rails Connector

Web-Server 1

Suche

Datenbank

Rails Connector

Web-Server 2

Suche

Datenbank

Load Balancer

Infopark AG

Kitzingstr. 15, D-12277 Berlin

Tel. +49 30 747993-0

Fax +49 30 747993-93

www.infopark.de

thomas.witt@infopark.de

Thomas Witt

Ihre Fragen?

Vielen Dank für Ihre Aufmerksamkeit!

Twitter: @thomas_witt

Blog: www.thomas-witt.com